home *** CD-ROM | disk | FTP | other *** search
/ TPUG - Toronto PET Users Group / TPUG Users Group CD / TPUG Users Group CD.iso / AMIGA / (A)Z / (A)Z11.ADF / LOGO / LOGOSOURCE / README < prev    next >
Text File  |  1987-07-26  |  2KB  |  56 lines

  1. These are the sources for the Amiga port of LOGO.
  2.  
  3. I have only included those files which are specifically required to
  4. construct the AMIGA version of this program.  Files required for
  5. other versions (GIGI / TEK / ADM etc terminals) can be found in the
  6. original Usenet posting of these sources.
  7.  
  8. I've pre-YACCed the original "logo.y" to form "y.tab.c", included here.
  9.  
  10. I have re-written "splithelp.c" to do a better job of splitting up the
  11. "logoman" documentation file.
  12.  
  13. A new file, "amiga.c", contains most of the AMIGA-specific code.
  14.  
  15. I did this port using Manx 3.4a, and did use some functions (fexecl, etc.)
  16. specific to this compiler/runtimes; you'll have to do some work if you're
  17. using Lattice.
  18.  
  19. The "makefile" is for Manx 3.4a.
  20.  
  21. ===========================================
  22.  
  23. Work that needs to be done.
  24.  
  25. 1. Turtle graphics.  I'm somewhat embarrassed that I didn't do a better
  26.    job.  C'mon, this is an AMIGA!  (speech, music, etc?)
  27.  
  28. 2. Runnable from WorkBench.  I almost got this to work, but ran into
  29.    problems with the "dos", "chdir", and "edit" commands playing together
  30.    properly.  
  31.  
  32. 3. I never REALLY tested the cbreak stuff to any great degree.
  33.  
  34. 4. Math.  I briefly tried using MANX and AMIGA double math, but things
  35.    started to break.  The original UNIX version trapped SIGFPE, but we
  36.    don't here.  The program will catch /0 errors, but I fear other kinds
  37.    of math errors may cause a blowup.
  38.  
  39. 5. Keyboard signal trapping.  I've sort of simulated a UNIX "signal()"
  40.    function to catch SIGQUIT and SIGINT (ctrl-C and ctrl-D).  We do a
  41.    SetExcept() to catch these keys.  The original UNIX program used a
  42.    longjmp() out of it's signal handler; we simply cannot do that on the
  43.    AMIGA.  So, I set a flag and look in getchr() and yylex().  Maybe the
  44.    flag needs to be checked in other places??
  45.  
  46. 6. More testing.
  47.  
  48. =============================================
  49.  
  50. - scott evernden
  51.  
  52.  
  53.  
  54.  
  55.  
  56.